Date: Thu, 07 Nov 1996 19:09:11 GMT
Server: NCSA/1.5
Content-type: text/html
Last-modified: Fri, 01 Nov 1996 22:41:24 GMT
Content-length: 8670

<HTML>
<HEAD>
<TITLE> James Larus' Home Page </TITLE>
<!-- Changed by: James Larus,  1-Nov-1996 -->
</HEAD>
<BODY>
<HR>
<H1> James Larus (<!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><A HREF="http://www.cs.wisc.edu/cgi-bin/finger?larus">larus@cs.wisc.edu)</A> </H1>

<!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><IMG SRC="http://www.cs.wisc.edu/~larus/larus.gif" ALT=""><BR>

Associate Professor of Computer Science<BR>
<!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><A HREF="http://www.cs.wisc.edu/">Department of Computer Sciences</A><BR>
<!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><A HREF="gopher://gopher.wisc.edu/">University of Wisconsin - Madison</A><BR>
1210 West Dayton Street<BR>
Madison, WI 53706  USA<BR><BR>
larus@cs.wisc.edu<BR>
Phone: 608-262-9519<BR>
Secretary: 265-4892 (Julie Fingerson or Thea Sklenar)<BR>
Departmental Office: 262-1204<BR>
Fax:  608-262-9777

<UL>
<LI> <!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><A HREF="#education">Education</A>
<LI> <!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><A HREF="#interests">Research Interests</A>
<LI> <!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><A HREF="#projects">Research Projects</A>
<LI> <!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><A HREF="#courses">Upcomming Courses</A>
<LI> <!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><A HREF="#software">Software</A>
<LI> <!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><A HREF="#papers">Recent Papers</A>
<LI> <!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><A HREF="#theses">Ph.D. Graduates</A>
<LI> <!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><A HREF="#researchsummary">Summary</A>
</UL>

<P>
<H3> <A name="education">Education:</A></H3>
<UL>
<LI> Ph.D. University of California, Berkeley, 1989.
<LI> M.S. University of California, Berkeley, 1982.
<LI> A.B. Harvard College, 1980.
</UL>

<H3> <A name="interests">Research Interests:</A></H3>
<UL>
<LI>
<!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><A HREF="http://www.cs.wisc.edu/~mds/uwpl.html">Programming languages</A>
and compilers, in particular languages and compilers for parallel machines.
<LI> Design and programming of shared-memory parallel computers.
<LI> Compiling symbolic languages.
<LI> Program profiling and tracing.
<LI> Program executable editing.
</UL>

<P>
<H3><A name="projects">Research Projects:</A></H3>
<UL>
<LI> Wisconsin Wind Tunnel<!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><A HREF="http://www.cs.wisc.edu/~wwt/index.html">(WWT)</A>
<LI> C** Large-Grain Data Parallel Programming Language
<LI> Executable Editing Library (<!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><A HREF="http://www.cs.wisc.edu/~larus/eel.html">EEL</A>)
</UL>
<P>

<P> <A NAME="courses">Courses:</A></H3>
<!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><A HREF="http://www.cs.wisc.edu/~cs367-3">CS367 Data Structures</A>
<!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><A HREF="http://www.cs.wisc.edu/~cs838-1">CS838 Java!</A>

<P>
<H3> <A NAME="software">Software:</A> </H3>
<UL>
<LI> <!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><A HREF="http://www.cs.wisc.edu/~larus/spim.html">SPIM</A>
<LI> <!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><A HREF="http://www.cs.wisc.edu/~larus/qpt.html">QPT</A>
<LI> <!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><A HREF="http://www.cs.wisc.edu/~larus/eel.html">EEL</A>
<LI> <!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><A HREF="http://www.cs.wisc.edu/~larus/warts.html">WARTS</A>
</UL>
<P>

<HR>
<H2><A NAME="papers">Recent Papers</A></H2>
<UL>

<LI>
<!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><IMG SRC="http://www.cs.wisc.edu/~larus/new.gif" ALT="">
<!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><A HREF="ftp://ftp.cs.wisc.edu/wwt/micro96.ps">
<CITE>
Efficient Path Profiling,
</CITE>
</A>
Thomas Ball and James Larus,
<BR>
To appear: MICRO-29, December 1996.

<LI>
<!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><A HREF="ftp://ftp.cs.wisc.edu/wwt/PPUC.ps">
<CITE>
Parallel Programming in C**: A Large-Grain Data-Parallel Programming
Language,
</CITE>
</A>
 James Larus, Brad Richards, Guhan Viswanathan,
<BR>
in Gregory V. Wilson, ed.,
<!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><A HREF="http://www-mitpress.mit.edu:80/mitp/recent-books/comp/wilrp.html">
Parallel Programming Using C++,
</A>
 MIT Press, 1996

<LI>
<!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><A HREF="ftp://ftp.cs.wisc.edu/wwt/pldi96_teapot.ps">
<CITE>
Teapot: Language Support for Writing Memory Coherence Protocols,
</CITE>
</A>
Satish Chandra, Brad Richards, and James Larus,
<BR>
ACM SIGPLAN '96 Programming Language Design and Implementation
(PLDI '96), May 1996.

<LI>
<!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><A HREF="ftp://ftp.cs.wisc.edu/wwt/wcsss96_eel.ps">
<CITE>
Instruction Scheduling and Executable Editing,
</CITE>
</A>
Eric Schnarr and
James R. Larus,
<BR>
To Appear: Workshop on Compiler Support for System Software (WCSSS),
February 1996.

<LI>
<!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><A HREF="ftp://ftp.cs.wisc.edu/wwt/ppopp95_irregular.ps">
<CITE>
Efficient Support for Irregular Applications on Distributed-Memory Machines,
</CITE>
</A>
Shubhendu Mukherjee, Shamik Sharma, Mark Hill, James Larus, Anne
Rogers, and Joel Saltz,
<BR>
Fifth ACM SIGPLAN Symposium on Principles and Practice
of Parallel Programming (PPoPP), July 1995.

<LI>
<!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><A HREF="ftp://ftp.cs.wisc.edu/wwt/pldi95_eel.ps">
<CITE>
EEL: Machine-Independent Executable Editing,
</CITE>
</A>
James Larus and Eric Schnarr,
<BR>
ACM SIGPLAN '95 Conferences on Programming Languages
Design and Implementation (PLDI), June 1995.

<LI>
<!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><A HREF="ftp://ftp.cs.wisc.edu/wwt/compcon95_tempest.ps">
<CITE>
Tempest: A Substrate for Portable Parallel Programs,
</CITE>
</A>
Mark Hill, James Larus, and David Wood,
<BR>
COMPCON Spring 95, March 1995.

<LI>
<CITE>
Static Branch Frequency and Program Profile Analysis,
</CITE>
Youfeng Wu and James Larus,
<BR>
27th Annual IEEE/ACM International Symposium on Microarchitecture
(MICRO 27), November 1994.

<LI>
<!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><A HREF="ftp://ftp.cs.wisc.edu/wwt/sc94_protocols.ps">
<CITE>
Application-Specific Protocols for User-Level Shared Memory,
</CITE>
</A>
Babak Falsafi, Alvin Lebeck, Steven Reinhardt, Ioannis Schoinas, Mark
Hill, James Larus, Anne Rogers, and David Wood,
<BR>
Supercomputing '94, November 1994.

<LI>
<!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><A HREF="ftp://ftp.cs.wisc.edu/wwt/asplos6_sm_mp.ps">
<CITE>
Where is Time Spent in Message-Passing and Shared-Memory Programs?,
</CITE>
</A>
Satish Chandra, James Larus, and Anne Rogers,
<BR>
Sixth International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS-VI), October 1994.

<LI>
<!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><A HREF="ftp://ftp.cs.wisc.edu/wwt/asplos6_lcm.ps">
<CITE>
LCM: System Support for Language Implementation,
</CITE>
</A>
James Larus, Brad Richards, and Guhan Viswanathan,
<BR>
Sixth International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS-VI), October 1994.

<LI>
<!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><A HREF="ftp://ftp.cs.wisc.edu/wwt/asplos6_fine_grain.ps">
<CITE>
Fine-grain Access Control for Distributed Shared Memory,
</CITE>
</A>
Ioannis Schoinas, Babak Falsafi, Alvin Lebeck, Steven Reinhardt, James
Larus, and David Wood,
<BR>
Sixth International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS-VI), October 1994.

<LI>
<!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><A HREF="ftp://ftp.cs.wisc.edu/wwt/icpp94_cachier.ps">
<CITE>
Cachier: A Tool for Automatically Inserting CICO Annotations,
</CITE>
</A>
Trishul Chilimbi and James Larus,
<BR>
1994 International Conference on Parallel Programming (ICPP), August 1994.

<LI>
<!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><A HREF="ftp://ftp.cs.wisc.edu/wwt/annobib.ps">
<CITE>
The Wisconsin Wind Tunnel Project: An Annotated Bibliography,
</CITE>
</A>
Mark D. Hill, James R. Larus, David A. Wood,
<BR>
Unpublished manuscript, revised frequently.

<LI>
<!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><!WA36><A HREF="ftp://ftp.cs.wisc.edu/wwt/tocs93_csm.ps">
<CITE>
Cooperative Shared Memory: Software and Hardware for Scalable Multiprocessors,
</CITE>
</A>
Mark D. Hill, James R. Larus, Steven K. Reinhardt, David A. Wood,
<BR>
ACM Transactions on Computer Systems (TOCS), November 1993.

<LI>
<!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><!WA37><A HREF="ftp://ftp.cs.wisc.edu/markhill/Papers/can93_warts.ps">
<CITE>
Wisconsin Architectural Research Tool Set (WARTS),
</CITE>
</A>
Mark D. Hill, James R. Larus, Alvin R. Lebeck, Madhusudhan Talluri,
David A. Wood,
<BR>
Computer Architecture News (CAN), August 1993.
</UL>
<HR>

<H2><A NAME="theses">Ph.D. Graduates</A></H2>
<UL>
<LI>
<!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><!WA38><A HREF="http://www.cs.vassar.edu/~richards">
Brad Richards,</A>
Ph.D. August 1996,
<CITE>
Memory Systems for Parallel Programming,
</CITE>
First employment: Vassar College.

<LI>
Guhan Viswanathan,
Ph.D. September 1996,
<CITE>
New Techniques for Compiling Data Parallel Languages
</CITE>
First employment: Oracle.

<LI>
<!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><!WA39><A HREF="http://www.research.att.com:80/orgs/ssr/people/lorenz">
Lorenz Huelsbergen,</A>
Ph.D. August 1993,
<CITE>
Dynamic Language Parallelization,
</CITE>
First employment: AT&T Bell Labs (lorenz@research.att.com).

<LI>
<!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><!WA40><A HREF="http://www.research.att.com/orgs/ssr/people/tball">Thomas Ball,</A>
Ph.D. August 1993,
<CITE>
The Use of Control-Flow and Control Dependence in Software Tools,
</CITE>
First employment: AT&T Bell Labs (tball@research.att.com).
</UL>


<HR>
<H2><A NAME="researchsummary">Research Summary</A></H2>
<P>
My research focuses on problems in programming computers.  As part of the
Wisconsin Wind Tunnel (<!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><!WA41><A
HREF="http://www.cs.wisc.edu/~wwt/index.html">WWT</A> ) Project, I have
helped develop a hybrid (software-hardware), shared-memory computer
architecture that facilitates programming and compiling for parallel
machines.  Currently, my students and I are developing languages, compilers,
and tools to demonstrate and exploit the power of user-level coherence
policies.
<P>
I'm also interested performance evaluation tools that help programmers
understand and improve their programs' performance.  Recently, Tom Ball and
I developed an efficient path profiling algorithm, which provides a more
detailed understanding of control-flow within routines and which has
identified new possibilities for better compilers.

<HR>
Last modified: Fri Nov  1 21:17:09 1996 by James Larus
<ADDRESS>
  <!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><!WA42><A HREF="http://www.cs.wisc.edu/~larus/larus.html">larus@cs.wisc.edu</A>
</ADDRESS>

</BODY>
</HTML>
